package com.ruoyi.galaxy.service;

import com.ruoyi.galaxy.vo.*;
import com.ruoyi.galaxy.vo.order.GalaxyApiOrderListResponse;
import com.ruoyi.galaxy.vo.project.GalaxyApiProjectDetailResponse;
import com.ruoyi.galaxy.vo.project.GalaxyApiProjectEventResponse;
import com.ruoyi.galaxy.vo.project.GalaxyApiProjectListResponse;

/**
 * @author yeoman
 * @date 2025/4/10 21:50
 * @description 银河票务api请求服务
 * @version 1.0
 */
public interface IGalaxyApiRequestService {

    /**
     * 分页获取商品列表
     * @return 商品列表
     */
    GalaxyApiProjectListResponse getProjectList();

    /**
     * 根据商品编号查询商品详情
     * @param projectToken 商品编号
     * @return 商品详情信息
     */
    GalaxyApiProjectDetailResponse selectProjectDetail(String projectToken);

    /**
     * 根据票档编号查询票档
     * @param eventToken 场次编号
     * @param userId 用户id
     * @return 票档信息
     */
    GalaxyApiProjectEventResponse selectProjectEvent(String eventToken, Long userId);

    /**
     * 分页获取订单列表
     * @param userId 用户id
     * @return 订单列表
     */
    GalaxyApiOrderListResponse getOrderList(Long userId);

    /**
     * 下单
     * @param request 请求参数
     * @return 下单结果
     */
    Boolean palaceOrder(GalaxyApiPalaceOrderRequest request);

}
